-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OCI join method - Add proto and client #51444
base: master
Are you sure you want to change the base?
Conversation
@@ -158,6 +158,32 @@ message TPMEncryptedCredential { | |||
bytes secret = 2; | |||
} | |||
|
|||
// RegisterUsingOracleMethod request is the request for registration via the | |||
// Oracle join method. | |||
message RegisterUsingOracleMethodRequest { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What will be the order of flow here? e.g does client send first or the server? which messages?
I think it'd be beneficial for us to ensure that RegisterUsingToken request is sent first if possible - this ensures that the Auth Server knows a bunch of key details if the flow fails part-way through. One of the problems we have with the IAM method at the moment is that we have basically zero details about the failing bot/agent if a failure occurs during the join process because all the details are sent at the end.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agree with Noah. This might be completely different from other joining flows, but without the additional context instance join failed audit events are mostly useless.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 RegisterUsingToken is now sent first
if err != nil { | ||
return nil, trace.Wrap(err) | ||
} | ||
challengeResp, err := oracleJoinClient.Recv() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
challengeResp is a confusing name for this, which is supposed to hold the challenge, and when there's already a parameter named challengeResponse
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure what a better name for it would be, but I renamed challengeResponse
to hopefully reduce the confusion.
This change adds protos, the client, and a bunch of boilerplate for the oracle join method (RFD).
Part of #41705.